mixer-control: Reset `stream-id`s on UI devices
If we find a matching UI device for a stream matching card and
port and the same stream is also on another port, reset that
UI devices `stream-id`.
Since wireplumber 1.5.84 will merely flip the port but not the
`stream-id` we need to make sure the UI device loses its stream-id.
Otherwise `gvc_mixer_control_change_output` will try a
`gvc_mixer_stream_change_port` which seemingly succeeds but fails
silently as the port doesn't exist on that stream at the moment.
By resetting the `stream-id` we ensure that we take the
`gvc_mixer_control_change_profile_on_selected_device` code path in
`gvc_mixer_control_change_output` instead and thus the sink/port
gets properly selected.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Origin: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31
Bug: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/issues/34
Bug-Debian: https://bugs.debian.org/
1126514
Applied-upstream: gnome-shell 50, commit:
798230599950607ec285daecd070f5bcb28580e4
Gbp-Pq: Topic libgvc
Gbp-Pq: Name mixer-control-Reset-stream-id-s-on-UI-devices.patch